// GameStates
#pragma once

#include "GameState.h"
#include "GameMain.h"
// GameStates
	#include "GameStateLogo.h"
	#include "GameStateLv1.h"
	#include "GameStateLv2.h"
	#include "GameStateLv3.h"
	#include "GameStateLv4.h"
	#include "GameStateLv5.h"
	#include "GameStateLose.h"
	#include "GameStateWin.h"

class CGameState;	

class CGameMain
{
public: 
	HDC* pDC;
	int keyBuffer;
	int timer;
	int currentStateID;
	vector<CGameState*> pGameStates;

	// check
	bool isPlaying;
	bool exitCurrentState;
	bool enterNextState;

	void GameLoop();

	CGameState* GetGameState(int iGameState);
	void SendMessage(int msg);
	void SwitchState(int stateID);

	void KeyPressed(int iKey);
	void KeyReleased(int iKey);
	void SetHDC (HDC *hDC) ;

// Constructors , Destructors
	CGameMain(void);
	~CGameMain(void);
};
